#ifndef __SCNS_ST7796_H__
#define __SCNS_ST7796_H__

#include "ScnsConfig.h"

#if defined(SCNS_ST7796_ENABLE)&&SCNS_ST7796_ENABLE==1

#include "ScnsYing.h"
#include "ScnsBspSt7796.h"
#include "ScnsLcd.h"

extern ScnsStatus scnsSt7796Init(ScnsSt7796Enum stn);
extern ScnsStatus scnsSt7796WriteColor(ScnsSt7796Enum stN,ScnsColorRgb565 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsSt7796ReadColor(ScnsSt7796Enum stN,uint8 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsSt7796SetAddress(ScnsSt7796Enum stn,Point plu,Point prd,uint8 write);
extern Point scnsSt7796GetBorder(ScnsSt7796Enum stn);
extern ScnsStatus scnsSt7796SetBackgroundLight(ScnsSt7796Enum stn,ScnsLcdBackgroundLightStatus status);
extern ScnsStatus scnsSt7796AsyncCallback(ScnsSt7796Enum stN);

#define scnsSt7796LcdPhysicalConfig(xx,yy)  {.x=(xx),.y=(yy),.fullScreen=0,.writeColorFormat=SCNS_COLOR_FORMAT_RGB565,.readColorFormat=SCNS_COLOR_FORMAT_RGB666_P1221}

#endif
#endif
